1. Technical Field of the Invention
The present invention pertains in general to a method and apparatus for reducing code shift search space in a Global Positioning System receiver, and more particularly, to reducing code shift search space in a Global Positioning System receiver connected to a cellular mobile station operating within a cellular telephone system.
2. Description of Related Art
It is desirable, and likely to be mandatory in the near future, that cellular telephone systems be equipped to determine the geographical location of cellular telephones operating within the cellular telephone system. To meet this requirement it has been proposed that cellular telephones be equipped with Global Positioning System (GPS) receivers for determining the location of the cellular telephone. GPS receivers, however, are expensive, increase the cellular telephone size, and consume limited battery power available to the cellular telephone. Furthermore, GPS receivers do not function well within buildings or in other areas where GPS satellite transmissions are weakened due to an obstruction, fading, reflecting, or the like.
It is commonly known that GPS receivers can be made smaller, less expensive, and more energy efficient by eliminating certain GPS receiver functionality used to obtain auxiliary information normally obtained through the demodulation of GPS satellite signals. Instead of demodulating the GPS satellite signals, an alternative means is used to provide the GPS receiver with the needed auxiliary information. This auxiliary information includes various information such as a list of GPS satellites currently in view of the GPS receiver, Doppler shifts for the listed GPS satellites, and ephemeris data for each of the listed GPS satellites. Eliminating the need for the GPS receiver to demodulate the GPS satellite signals also allows the GPS receiver to integrate the GPS satellite signals over a longer period of time allowing for reception of weakened signals due to obstructions.
In order to calculate the auxiliary information for the GPS receiver, however, the approximate location of the GPS receiver must be known. Moreover, the closer the actual location of the GPS receiver to the location used in calculating the auxiliary information the smaller the resulting location search to be performed by the GPS receiver. For example, it is known that if the GPS receiver is given auxiliary information calculated to a location within a radius of one hundred miles of the actual location of the GPS receiver, the GPS receiver need not measure the actual range to the GPS satellites, but instead, only needs to measure a fraction of a millisecond for each of the ranges. This greatly simplifies the necessary range measurements to that of finding the relative code shift position locations to the one millisecond code cycle. In order to do this, however, the GPS receiver still must search all one thousand twenty three code shift positions for all the GPS satellites to be used in the location solution.
The code shift searches can be performed by means of a combination of a fast Fourier transform and an inverse fast Fourier transform correlator to simultaneously search all the code shift positions. This technique for finding the code shift position of a cyclic sequence is described in textbooks, such as Digital Signal Processing by Oppenheim & Shafer. While such an approach is more computationally efficient than a straight correlation, it is nonetheless, computationally intensive requiring additional functionality and consuming limited battery power resources. Furthermore, with the opportunity to convey information to the mobile unit to assist it in its search for the GPS satellite ranges, this method then becomes computationally inefficient as it consumes computation cycles searching for many code shift positions that are not possible.
Another solution to searching all one thousand twenty three shift code positions is to build specific hardware to search multiple code shift positions simultaneously. To date, however, hardware specific solutions have not been able to simultaneously search more than a fraction of code shift positions thus requiring multiple searches and lengthy time delays.
It would be advantageous, therefore, to devise a method and apparatus to reduce the code shift search space required to be performed by a GPS receiver and thus reduce the functionality and time required for a GPS receiver to determine its location. Furthermore, it would be advantageous to devise a method and apparatus for a GPS receiver to obtain auxiliary information for determining its location.